import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:trip_flutter/pages/login_page.dart';
import 'package:trip_flutter/widget/hi_webview.dart';

class NavigatorUtil {
  ///用于在获取不到context的地方，如dao中跳转页面时使用，需要在TabNavigator赋值
  ///注意：若TabNavigator被销毁，_context将无法使用
  // static BuildContext? _context;

  // static updateContext(BuildContext context) {
  //   NavigatorUtil._context = context;
  //   debugPrint('init:$context');
  // }

  ///跳转到指定页面
  static push(Widget page) {
    // Navigator.push(context, MaterialPageRoute(builder: (context) => page));
    Get.to(page);
  }

  ///跳转到首页
  static goToHome() {
    //跳转到主页并不让返回
    // Navigator.pushReplacement(
    //   context,
    //   MaterialPageRoute(builder: (context) => const HomePage()),
    // );
    // Get.offAll(const TabNavigator());
    // todo 改为跳转到主页
  }

  ///跳转到登录页
  static goToLogin() {
    //跳转到主页并不让返回
    // Navigator.pushReplacement(
    //   _context!,
    //   MaterialPageRoute(builder: (context) => const LoginPage()),
    // );
    Get.off(const LoginPage());
  }

  ///返回上一页
  static pop() {
    // if (Navigator.canPop(context)) {
    //   Navigator.pop(context);
    // } else {
    //   //退出APP
    //   SystemNavigator.pop();
    // }
    Get.back();
  }

  ///跳转H5页面
  static jumpH5({
    String? url,
    String? title,
    bool? hideAppBar,
    String? statusBarColor,
  }) {
    if (url == null) {
      debugPrint('url is null jumpH5 failed.');
      return;
    }
    Get.to(
      HiWebView(
        url: url,
        title: title,
        hideAppBar: hideAppBar,
        statusBarColor: statusBarColor,
      ),
    );
  }
}
